Video games show potential as an effective tool for learning a range of subjects. However, learning-oriented games to date have been designed as separated experiences, and cannot measure, store, or retrieve learning data about game players across game titles. For example, skills acquired by the user in one game are not available for reading or modification by other games. This problem is compounded when games are from different publishers, for example, due to the different formats for data that each publisher employs. As a result, the player must start anew acquiring skills, and spend needless time playing levels of the game that are not adjusted to the user's skills.
While some video games enable a user to select a general level of difficulty prior to starting a game, this has the drawback of potentially incorrect self assessment, and also does not account for skill-by-skill differences in the ability of players. Further, games in which a user selects a level of difficulty are not provided with mechanisms by which the game can update or modify the user's level of difficulty, for example, if the user selected too low a difficulty level, or if the user improves his skill through practice in the game. Thus, the user may grow tired of a game that is too easy, or quit a game that is too hard. Finally, there is no way to compare user learning in games from one game to the next, because a difficulty level in one game may not be comparable to a difficulty level in another game. For this reason, the user experience with learning software applications has been isolated, fragmented and non-cumulative.